Ejecutar tests con seed

Descripcion

Ejecutar los tests con Jasmine usando una seed nos permite que los tests se ejecuten en un orden concreto, lo que nos permite replicar escenarios en los que un test falla al ejecutarse en un orden concreto.

Metodo

Cuando ejecutamos los tests de manera normal siempre se genera una seed de manera aleatoria, la seed podemos verla aqui:

NOTA:Si hacemos click encima del numero los tests se volveran a lanzar con la misma seed

Si queremos volver a ejecutar los tests con una seed concreta lo hacemos poniendo lo siguiente en la barra de direcciones:

/debug.html?seed=1234

De esta manera se ejecutaran los tests con la seed "1234", haciendo que todo se ejecute en el orden de esa seed

Obtener seed en consola

Si queremos obtener la seed en la salida de la consola (en vez de la interfaz del navegador) tendremos que instalar un paquete a mayores, ya que por defecto no se proporciona esta información.

El paquete que tenemos que instalar es el siguiente:

Paquete karma-jasmine-order-reporter npm install karma-jasmine-order-reporter --save-dev

Una vez tenemos instalado el paquete en nuestro proyecto tenemos que configurar nuestro archivo karma.conf.js

require('karma-jasmine-order-reporter')

A la hora de ejecutar los tests tenemos que indicar el nuevo reporter de la siguiente manera:

ng test --browsers ChromeHeadless --code-coverage --reporters="jasmine-order"

La opción --reporters="jasmine-order" es la importante

Al ejecutar los test se mostrará con que seed se están ejecutando de esta manera:

Tags

Test | Seed | Jasmine